<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>线程池监控统计</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        // 页面加载完成后开始定时器,每10S刷新一次
        window.onload = function () {
            setInterval(function () {
                location.reload();
            }, 10000);
        };
    </script>
</head>
<body>
<div class="stat-table-container">
    <table bgcolor="#ffe4c4" border="1">
        <tr>
            <td th:width="150">统计开始时间</td>
            <td th:if="${statResult != null}" th:text="${statResult.startTime}"></td>
        </tr>
        <tr>
            <td th:width="150">统计结束时间</td>
            <td th:if="${statResult != null}" th:text="${statResult.endTime}"></td>
        </tr>
        <tr>
            <td th:width="150">统计结果描述</td>
            <td th:if="${statResult != null}" th:text="${statResult.message}"></td>
        </tr>
        <tr>
            <td th:width="150">当前统计成功次数</td>
            <td th:if="${statResult != null}" th:text="${statResult.successCount}"></td>
        </tr>
    </table>

    <table id="statTable" style="width: 100%" border="1">
        <thead>
        <tr>
            <th>线程池编号</th>
            <th>线程池代码</th>
            <th>线程池名称</th>
            <th>核心线程数</th>
            <th>最大线程数</th>
            <th>线程存活时间</th>
            <th>线程存活时间单位</th>
            <th>队列类型</th>
            <th>队列大小</th>
            <th>拒绝策略</th>
            <th>当前队列使用大小</th>
            <th>当前队列使用占比(%)</th>
            <th>线程池中活动线程数量</th>
            <th>已执行完成的任务量</th>
            <th>执行的任务量(包括正在执行的任务)</th>
            <th>线程池中曾有过的最大线程量</th>
            <th>统计状态</th>
        </tr>
        </thead>
        <tbody>
        <div th:if="${statResult != null}">
            <tr th:each="item : ${statResult.statInfoList}">
                <td th:text="${item.poolNo}"/>
                <td th:text="${item.poolCode}"/>
                <td th:text="${item.poolName}"/>
                <td th:text="${item.corePoolSize}"/>
                <td th:text="${item.maxPoolSize}"/>
                <td th:text="${item.keepAliveTime}"/>
                <td th:text="${item.keepAliveTimeUnit}"/>
                <td th:text="${item.queueType}"/>
                <td th:text="${item.queueSize}"/>
                <td th:text="${item.rejectStrategy}"/>
                <td th:text="${item.useQueueSize}"/>
                <td th:text="${item.useQueueRate}"/>
                <td th:text="${item.activeCount}"/>
                <td th:text="${item.completedTaskCount}"/>
                <td th:text="${item.taskCount}"/>
                <td th:text="${item.largestPoolSize}"/>
                <td th:text="${item.statStatus}"/>
            </tr>
        </div>
        </tbody>
    </table>
</div>
</body>

<style>
    .stat-table-container {
        /* 或者设置为你需要的固定宽度 */
        width: 100%;
        /* 当内容超出容器宽度时显示滚动条 */
        overflow-x: auto;
    }

    /* 样式化表格（可选） */
    table {
        /* 或者设置为更大的宽度来确保内容溢出 */
        width: 100%;
        border-collapse: collapse;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 8px;
        text-align: left;
    }
</style>

</html>